﻿using System;
using System.Xml;
using Framework.CapaDeDatos.AccesoADatos;
using Framework.CapaDeDatos.Proveedores;
using Framework.CapaDeDatos.Proveedores.Persistencia;
using Framework.CapaDeDatos.Proveedores.Persistencia.Serializados;
using Framework.Modelo;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Rhino.Mocks;
using Framework.CapaDeDatos.Convertores;

namespace FrameworkTest.CapaDeDatosTest
{
    [TestClass()]
    public class FacebookTest
    {
        private TestContext testContextInstance;

        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        [TestMethod()]
        public void RecuperarTest()
        {
            Guid guid = new Guid(); // TODO: Initialize to an appropriate value
            IPersistencia graphApi = MockRepository.GenerateStrictMock<IPersistencia>();
            graphApi.Expect(s => s.Recuperar(guid)).Repeat.Once().Return(Arg<XmlDocument>.Is.Anything);
            Facebook target = new Facebook(graphApi); // TODO: Initialize to an appropriate value
            IObjeto actual;
            actual = target.Recuperar(guid);
            graphApi.VerifyAllExpectations();
        }

        //[TestMethod()]
        //public void RecuperarObjetoTest1()
        //{
        //    String accessToken = "AAAAAAITEghMBAGwoduaaXqVCYhSxHu3JPKH5A5OTqXVsJVJyGjB3HY5niOCswFPL91ntbuEPg0oIMFnU19BV8tRDBV4mnUE51qmaD1GVPZC5GZA0eI";
        //    Guid guid = new Guid("00000000000000000000000000220439"); // TODO: Initialize to an appropriate value
        //    IAccesoADatos accesoADatos = new Http();
        //    ISerializado serializado = new Serializado(accesoADatos);
        //    IPersistencia graphApi = new GraphApi(serializado,accessToken);
        //    Facebook target = new Facebook(graphApi); 
        //    IObjeto actual;
        //    actual = target.Recuperar(guid);
        //    Assert.IsInstanceOfType( actual, typeof(Framework.Modelo.Facebook.Objeto));
        //    String jsonObject = ConvertorJson.Obtener(actual);
        //}
    }
}
